/*
 * @Author: C.
 * @Date: 2022-08-27 12:27:43
 */

export default function download(options = { fileName: "", file: null }) {
    let { fileName, file } = options;
    // 要预览的文件地址
    // 拼接iframe请求url
    //   const fileName = fileName // 导出文件名
    // 对于<a>标签，只有 Firefox 和 Chrome（内核） 支持 download 属性
    // IE10以上支持blob但是依然不支持download
    return new Promise(resolve => {
        if ("download" in document.createElement("a")) {
            // 支持a标签download的浏览器
            const link = document.createElement("a"); // 创建a标签
            link.download = fileName; // a标签添加属性
            link.style.display = "none";
            link.href = URL.createObjectURL(file);
            document.body.appendChild(link);
            link.click(); // 执行下载
            URL.revokeObjectURL(link.href); // 释放url
            document.body.removeChild(link); // 释放标签
            resolve(true);
        } else {
            // 其他浏览器
            navigator.msSaveBlob(file, fileName);
            resolve(true);
        }
    });
}
